/**
 * Project Name:zyhj-web
 * File Name:LpglService.java
 * Package Name:com.vviton.zyhj.consumer.service
 * Date:2016年11月14日下午6:30:54
 *
 */

package com.vviton.zyhj.admin.service;

import com.vviton.zyhj.common.utils.ResultJson;
import com.vviton.zyhj.common.utils.page.Page;
import com.vviton.zyhj.common.view.ParamLpcx;
import com.vviton.zyhj.common.view.ParamLpxx;
import com.vviton.zyhj.common.view.ParamLpxxZt;
import com.vviton.zyhj.common.view.ViewLpxx;
import com.wdcloud.framework.core.log.annotation.MonitorLog;
import com.wdcloud.framework.core.log.entity.MonitorLogInfo;

/**
 * ClassName:LpglService <br/>
 * Function: 礼品管理. <br/>
 * Date: 2016年11月14日 下午6:30:54 <br/>
 *
 * @author huangqq
 * @version 1.0
 * @since JDK 1.7
 */
public interface LpglService {

    /**
     * insertLpxx,插入礼品信息（添加礼品）. <br/>
     * Author: huangqq <br/>
     * Create Date: 2016年11月15日 <br/>
     * ===============================================================<br/>
     * Modifier: huangqq <br/>
     * Modify Date: 2016年11月15日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param paramLpxx 礼品信息
     * @return 执行结果
     * @since JDK 1.7
     */
    @MonitorLog(text = "插入礼品信息（添加礼品）Service", type = MonitorLogInfo.METHOD_TYPE_SERVICE)
    ResultJson insertLpxx(ParamLpxx paramLpxx);

    /**
     * updateLpxx,更新礼品信息. <br/>
     * Author: huangqq <br/>
     * Create Date: 2016年11月15日 <br/>
     * ===============================================================<br/>
     * Modifier: huangqq <br/>
     * Modify Date: 2016年11月15日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param paramLpxx 礼品信息
     * @return 执行结果
     * @since JDK 1.7
     */
    @MonitorLog(text = "更新礼品信息Service", type = MonitorLogInfo.METHOD_TYPE_SERVICE)
    ResultJson updateLpxx(ParamLpxx paramLpxx);

    /**
     * getLpxxByLpid,根据礼品ID获取礼品信息. <br/>
     * Author: huangqq <br/>
     * Create Date: 2016年11月15日 <br/>
     * ===============================================================<br/>
     * Modifier: huangqq <br/>
     * Modify Date: 2016年11月15日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param lpid 礼品ID
     * @param ywy 业务域
     * @return 礼品信息
     * @since JDK 1.7
     */
    @MonitorLog(text = "根据礼品ID获取礼品信息Service", type = MonitorLogInfo.METHOD_TYPE_SERVICE)
    ViewLpxx getLpxxByLpid(String lpid, String ywy);

    /**
     * getLpxxList,查询礼品信息List. <br/>
     * Author: huangqq <br/>
     * Create Date: 2016年11月15日 <br/>
     * ===============================================================<br/>
     * Modifier: huangqq <br/>
     * Modify Date: 2016年11月15日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param paramLpcx 礼品信息查询传参
     * @return 礼品分页信息
     * @since JDK 1.7
     */
    @MonitorLog(text = "礼品分页查询Service", type = MonitorLogInfo.METHOD_TYPE_SERVICE)
    Page getLpxxList(ParamLpcx paramLpcx);

    /**
     * updateLpxxZt,礼品上下架. <br/>
     * Author: huangqq <br/>
     * Create Date: 2016年11月15日 <br/>
     * ===============================================================<br/>
     * Modifier: huangqq <br/>
     * Modify Date: 2016年11月15日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param paramLpxxZt 礼品上下架信息
     * @param zh 账号
     * @return 执行结果
     * @since JDK 1.7
     */
    @MonitorLog(text = "礼品分页查询Service", type = MonitorLogInfo.METHOD_TYPE_SERVICE)
    ResultJson updateLpxxZt(ParamLpxxZt paramLpxxZt, String zh);

    /**
     * validateLpmc,校验礼品名称唯一性. <br/>
     * Author: huangqq <br/>
     * Create Date: 2016年11月18日 <br/>
     * ===============================================================<br/>
     * Modifier: huangqq <br/>
     * Modify Date: 2016年11月18日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param paramLpxx 礼品名称参数
     * @return 校验结果
     * @since JDK 1.7
     */
    @MonitorLog(text = "礼品分页查询Service", type = MonitorLogInfo.METHOD_TYPE_SERVICE)
    ResultJson validateLpmc(ParamLpxx paramLpxx);
}
